home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1997 August / Walnut Creek CDROM.7z / VOL_400 / 466_01 / HTML.FMT < prev    next >
Encoding:
INI File  |  1996-12-20  |  37.0 KB  |  1,818 lines

  1. [token]
  2. .output=html,htm
  3. .token=^p,<P>
  4. .token=^t,
  5. .token=\,\\
  6. .token=<,<
  7. .token=>,>
  8. .highcharmask=&#%d;
  9. ;
  10. ; example-specific character tokens
  11. .context=example
  12. .token=^p,
  13.  
  14. [extension]
  15.  
  16. ; Filename extension types
  17. ; .ext=<extension_text>, c|asm|bas
  18.  
  19. .ext=c,c
  20. .ext=cpp,c
  21. .ext=cxx,c
  22. .ext=inl,c
  23. .ext=d,c
  24. .ext=h,c
  25. .ext=hpp,c
  26. .ext=hxx,c
  27. .ext=asm,asm
  28. .ext=bas,bas
  29. .ext=mst,bas
  30. .ext=frm,bas
  31. .ext=inc,bas
  32.  
  33. [constant]
  34.  
  35. ; String constants
  36. ; .output=doc|html|html
  37. ; .define=<constant_name>, <constant_text>
  38.  
  39. .output=html
  40. .define=title,Help
  41. .define=doc_header,Autoduck Output
  42. .define=cb,<B>
  43. .define=cbe,</B>
  44. .define=ci,<I>
  45. .define=cie,</I>
  46. .define=cul, 
  47. .define=cule,
  48. .define=culd,{\uldb 
  49. .define=culde,}
  50. .define=par,<P>
  51. .define=line,<BR>
  52. .define=page,<HR>
  53. .define=tab,
  54. .define=plain,
  55. .define=clink,{link}
  56. .define=clinkte,{link end}
  57. .define=heading_4,<H4>
  58. .define=heading_3,<H3>
  59. .define=heading_2,<H2>
  60. .define=heading_1,<H1>
  61. .define=heading_4e,</H4>
  62. .define=heading_3e,</H3>
  63. .define=heading_2e,</H2>
  64. .define=heading_1e,</H1>
  65. .define=normal,
  66. .define=table_text,
  67. .define=ex,<PRE>
  68. .define=exe,</PRE>
  69. .define=header_rule,<HR>
  70. .define=rh1,<H1>
  71. .define=rmh,<H3>
  72. .define=rmhe,</H3>
  73. .define=term1,<DT>
  74. .define=term2,<DT>
  75. .define=term3,<DT>
  76. .define=def1,<DD>
  77. .define=def2,<DD>
  78. .define=def3,<DD>
  79. .define=rule,<HR>
  80. .define=indexlink, 
  81.  
  82. [file]
  83. ; ********************************************
  84. ; Help file headers
  85. ; ********************************************
  86. .output=html
  87. .pre=<HTML>
  88.  
  89. <HEAD>
  90.  
  91. <TITLE>$(title)</TITLE>
  92.  
  93. <META NAME="GENERATOR" CONTENT="Autoduck, by erica@microsoft.com">
  94. </HEAD>
  95.  
  96. <BODY>
  97.  
  98.  
  99. .post=</BODY>
  100.  
  101. </HTML>
  102.  
  103.  
  104. [topic]
  105. ;
  106. ; *****************************************
  107. ; Basic Topics
  108. ; *****************************************
  109.  
  110. .tag=bfunc, html, 4, 20, $2
  111. .order=rdesc bparm comm ex
  112. .parsesource=bfunc
  113. .pre=$(page)
  114. <A NAME=$!c><H1>$!n</H1></A>
  115. $[bfunc]
  116. $4$(par)
  117. Defined in: $!P$(par)
  118.  
  119.  
  120.  
  121. .tag=bsub, html, 3, 20, $2
  122. .order=rdesc bparm comm ex
  123. .parsesource=bsub
  124. .pre=$(page)
  125.  
  126. <A NAME=$!c><H1>$!n</H1></A>
  127. $[bsub]
  128. $3$(par)
  129. Defined in: $!P$(par)
  130.  
  131. .tag=btype, html, 3, 20, $2
  132. .order=bfield comm ex
  133. .parsesource=btype
  134. .pre=$(page)
  135. <A NAME=$!c><H1>$!n</H1></A>
  136. $[bstruct]
  137. $3$(par)
  138. Defined in: $!P$(par)
  139.  
  140. ;
  141. ; ***********************************************************
  142. ; C Language topics
  143. ; ***********************************************************
  144.  
  145. ; Functions
  146.  
  147. .tag=func, html, 3, 20, $2
  148. .order=syntax rdesc parm parmvar comm ex
  149. .parsesource=function
  150. .pre=$(page)
  151. <A NAME=$!c><H1>$!n</H1></A>
  152. $[function]
  153. $3$(par)
  154. Defined in: $!P$(par)
  155.  
  156. .tag=cb, html, 3, 20, $2
  157. .order=syntax rdesc parm parmvar comm ex
  158. .parsesource=function
  159. .pre=$(page)
  160. <A NAME=$!c><H1>$!n</H1></A>
  161. $[function]
  162. $3$(par)
  163. Defined in: $!P$(par)
  164.  
  165. ; Messages
  166.  
  167.  
  168. .tag=msg, html, 2, 30, $1
  169. .order=rdesc parm comm ex
  170. .pre=$(page)
  171. <A NAME=$!c><H1>$!n</H1></A>
  172. $2$(par)
  173. Defined in: $!P$(par)
  174.  
  175. ; Constants
  176.  
  177.  
  178. .tag=const, html, 3, 30, $2
  179. .order=comm ex
  180. .parsesource=constant
  181. .pre=$(page)
  182. <A NAME=$!c><H1>$!n</H1></A>
  183. $(cb)const $1 $2;$(cbe)$(par)
  184. Defined in: $!P$(par)
  185. $3$(par)
  186.  
  187. ; Data types (typedefs, etc.)
  188.  
  189.  
  190. .tag=type, html, 2, 50, $1
  191. .order=field comm ex
  192. .pre=$(page)
  193. <A NAME=$!c><H1>$!n</H1></A>
  194. $2$(par)
  195. Defined in: $!P$(par)
  196.  
  197. ; Structures
  198.  
  199.  
  200. .tag=struct, html, 2, 50, $1
  201. .parsesource=struct
  202. .order=field comm ex
  203. .pre=$(page)
  204. <A NAME=$!c><H1>$!n structure</H1></A>
  205. $[structure]
  206. $2$(par)
  207. Defined in: $!P$(par)
  208.  
  209. ; Modules
  210.  
  211.  
  212. .tag=module, html, 2, 10, $1
  213. .pre=$(page)
  214. <A NAME=$!c><H1>$!n</H1></A>
  215. Filename: $!P$(par)
  216. $(rmh)Description$(rmhe)
  217. $2$(par)
  218.  
  219. ; Enumeration Types
  220.  
  221. .tag=enum, html, 2, 50, $1
  222. .order=emem comm ex
  223. .parsesource=enum
  224. .pre=$(page)
  225. <A NAME=$!c><H1>$!n</H1></A>
  226. $[enum]
  227. $2$(par)
  228. Defined in: $!P$(par)
  229.  
  230. ; ***********************************************************
  231. ; C++ Language topics
  232. ; ***********************************************************
  233.  
  234. ; Classes
  235.  
  236. .tag=class, html, 2, 20, $1
  237. .parsesource=class
  238. .pre=$(page)
  239. <A NAME=$!c><H1>$!n class</H1></A>
  240. $[class]
  241. $2$(par)
  242. Defined in: $!P$(par)
  243.  
  244. ; Member Classes
  245.  
  246. .tag=mclass, html, 3, 20, $1::$2
  247. .parsesource=class
  248. .pre=\page
  249. <A NAME=$!c><H1>$!n</H1></A>
  250. $[mclass]
  251. $3$(par)
  252. Defined in: $!P$(par)
  253.  
  254. ; Member functions
  255.  
  256. .tag=mfunc, html, 4, 20, $2::$3
  257. .context=$2__$3
  258. .if=exists($2)
  259. .order=syntax rdesc parm comm ex
  260. .parsesource=memberfunction
  261. .post=Back to <A HREF=###2>#2</A>
  262. .pre=$(page)
  263. <A NAME=$!c><H1>$!n</H1></A>
  264. $[mfunction]
  265. $4$(par)
  266. Defined in: $!P$(par)
  267.  
  268. .tag=mfunc, html, 4, 20, $2::$3
  269. .context=$2__$3
  270. .order=syntax rdesc parm comm ex
  271. .parsesource=memberfunction
  272. .pre=$(page)
  273. <A NAME=$!c><H1>$!n</H1></A>
  274. $[mfunction]
  275. $4$(par)
  276. Defined in: $!P$(par)
  277.  
  278. ; Member data
  279.  
  280. .tag=mdata, html, 4, 20, $2::$3
  281. .order=comm ex
  282. .pre=$(page)
  283. <A NAME=$!c><H1>$!n</H1></A>
  284. $[mdata]
  285. $4$(par)
  286.  
  287. ; Member structure
  288.  
  289. .tag=mstruct, html, 3, 50, $1::$2
  290. .order=field comm ex
  291. .pre=$(page)
  292. <A NAME=$!c><H1>$!n structure</H1></A>
  293. $[structure]
  294. $3$(par)
  295. Defined in: $!P$(par)
  296.  
  297. ; Member enumerations
  298. ;
  299. .tag=menum, html, 3, 50, $1::$2
  300. .order=emem comm ex
  301. .pre=$(page)
  302. <A NAME=$!c><H1>$!n</H1></A>
  303. $[enum]
  304. $3$(par)
  305. Defined in: $!P$(par)
  306. ;
  307.  
  308. ;
  309. ; ***********************************************************
  310. ; OLE topics
  311. ; ***********************************************************
  312.  
  313. ; Objects
  314. ; @object    Point2D | Represents a two-dimensional coordinate.
  315.  
  316. .tag=object, html, 2, 20, $1
  317. .pre=$(page)
  318. <A NAME=$!c><H1>$!n object</H1></A>
  319. $2$(par)
  320. Defined in: $!P$(par)
  321.  
  322. ; Interfaces
  323.  
  324. .tag=interface, html, 2, 20, $1
  325. .context=$1_int
  326. .pre=$(page)
  327. <A NAME=$!c><H1>$!n</H1></A>
  328. $2$(par)
  329. Defined in: $!P$(par)
  330.  
  331. ; Object methods
  332.  
  333. .tag=method, html, 4, 20, $2::$3
  334. .context=$2__$3_meth
  335. .order=rvalue rdesc parm comm ex
  336. .pre=$(page)
  337. <A NAME=$!c><H1>$!n method</H1></A>
  338. $[method]
  339. $4$(par)
  340. Defined in: $!P$(par)
  341.  
  342. ; Object properties
  343.  
  344. .tag=property, html, 4, 20, $2::$3
  345. .order=rdesc comm ex
  346. .context=$2__$3_prop property
  347. .pre=$(page)
  348. <A NAME=$!c><H1>$!n property</H1></A>
  349. $(rmh)Data Type$(rmhe)
  350. $(cb)$1$(cbe)$(par)
  351. $(rmh)Description$(rmhe)
  352. $4$(par)
  353. Defined in: $!P$(par)
  354.  
  355. ; Object events
  356.  
  357. .tag=event, html, 3, 20, $1::$2
  358. .context=$1__$2_event
  359. .order=parm comm ex
  360. .pre=$(page)
  361. <A NAME=$!c><H1>$!n event</H1></A>
  362. $[event]
  363. $(rmh)Description$(rmhe)
  364. $3$(par)
  365. Defined in: $!P$(par)
  366. ;
  367. ; ***********************************************************
  368. ; Overview Topics
  369. ; ***********************************************************
  370.  
  371. .tag=topic, html, 2, 5, $1
  372. .pre=$(page)
  373. <A NAME=$!c><H1>$!n</H1></A>
  374. $2$(par)
  375.  
  376. ;
  377. ; ***********************************************************
  378. ; Contents topics
  379. ; ***********************************************************
  380.  
  381. .tag=contents1, html, 2, 0, __aaa$1
  382. .pre=$(heading_1)<A NAME=$!c>$1</A>$(heading_1e)$(par)
  383. $(indexlink)$2$(par)
  384.  
  385. .tag=contents2, html, 2, 0, _aaa$1
  386. .pre=$(page)$(heading_1)<A NAME=$!c>$1</A>$(heading_1e)$(par)
  387. $(indexlink)$2$(par)
  388.  
  389. ; ***********************************************************************
  390. ; ***********************************************************************
  391. ; Paragraph section
  392.  
  393. [paragraph]
  394. ;
  395. ; ***********************************************************
  396. ; Basic tags
  397. ; ***********************************************************
  398. ;
  399. .tag=bparm, html, 4, 1
  400. .parsesource=bparameter
  401. .pre=$(rmh)Parameters$(rmhe)
  402. <DL>
  403. .post=</DL>
  404. .format=$(term1)$(ci)$2$(cie)
  405. $(def1)$4$(par)
  406.  
  407. .tag=bfield, html, 3, 1
  408. .parsesource=bfield
  409. .pre=$(rmh)Fields$(rmhe)
  410. <DL>
  411. .post=</DL>
  412. .format=$(term1)$1
  413. $(def1)$3$(par)
  414.  
  415.  
  416.  
  417. ;
  418. ; ***********************************************************
  419. ; C Tags
  420. ; ***********************************************************
  421.  
  422. ; Parameters
  423. .tag=parm, html, 3, 1
  424. .parsesource=parameter
  425. .pre=$(rmh)Parameters$(rmhe)
  426. <DL>
  427. .format=$(term1)$(ci)$2$(cie)
  428. $(def1)$3$(par)
  429.  
  430. .post=</DL>
  431.  
  432. ; Optional Parameters
  433. .tag=parmopt, html, 4, 1
  434. .parsesource=parameteropt
  435. .pre=$[parmopthead]
  436. <DL>
  437.  
  438. .post=</DL>
  439.  
  440. .format=$(term1)$(ci)$2$(cie)$(par)
  441. $(def1)$4$(par)
  442.  
  443. ; Variable length parameter list
  444. .tag=parmvar, html, 1, 1
  445. .pre=$(rmh)Parameters$(rmhe)
  446. <DL>
  447. .post=</DL>
  448. .format=$(term1)$(cb)...$(cbe)$(par)
  449. $(def1)$1$(par)
  450.  
  451. ; Class template arguments 
  452. .tag=tcarg, html, 3, 1
  453. .parsesource=parameter
  454. .pre=$(rmh)Class Template Arguments$(rmhe)
  455. <DL>
  456. .post=</DL>
  457. .format=$(term1)$(ci)$2$(cie)
  458. $(def1)$3
  459.  
  460. ; Function template arguments 
  461. .tag=tfarg, html, 3, 1
  462. .parsesource=parameter
  463. .pre=$(rmh)Function Template Arguments$(rmhe)
  464. <DL>
  465. .post=</DL>
  466. .format=$(term1)$(ci)$2$(cie)
  467. $(def1)$3
  468.  
  469. .tag=field, html, 3, 1
  470. .parsesource=field
  471. .pre=$(rmh)Members$(rmhe)
  472. <DL>
  473. .post=</DL>
  474.  
  475. .format=$(term1)$(cb)$2$(cbe)
  476. $(def1)$3
  477.  
  478. .tag=flag, html, 2, 2
  479. .pre=<DL>
  480.  
  481. .post=</DL>
  482.  
  483. .format=$(term2)$1
  484. $(def2)$2$(par)
  485.  
  486. .tag=rdesc, html, 1, 1
  487. .pre=$(rmh)Return Value$(rmhe)
  488. .format=$1$(par)
  489.  
  490. .tag=emem, html, 2, 1
  491. .parsesource=emem
  492. .pre=$(rmh)Members$(rmhe)
  493. <DL>
  494. .post=</DL>
  495. .format=$(term1)$(cb)$1$(cbe)
  496. $(def1)$2
  497.  
  498. .tag=field, html, 3, 1
  499. .parsesource=parameter
  500. .pre=$(rmh)Members$(rmhe)
  501. <DL>
  502. .post=</DL>
  503. .format=$(term1)$(cb)$2$(cbe)$(par)
  504. $(def1)$3$(par)
  505.  
  506. ; Global variables
  507. .tag=globalv, html, 3, 1
  508. .parsesource=parameter
  509. .pre=$(rmh)Global Variables$(rmhe)
  510. <DL>
  511. .post=</DL>
  512. .format=$(term1)<A HREF=##$1>$1</A> $(cb)$2$(cbe)
  513. $(def1)$3$(par)
  514.  
  515. .if=exists($1)
  516.  
  517. .tag=globalv, html, 3, 1
  518. .parsesource=parameter
  519. .pre=$(rmh)Global Variables$(rmhe)
  520. <DL>
  521. .post=</DL>
  522. .format=$(term1)$(cb)$1 $2$(cbe)
  523. $(def1)$3$(par)
  524. ;
  525. ; ***********************************************************
  526. ; Misc Tags
  527. ; ***********************************************************
  528.  
  529. .tag=comm, html, 1, 1
  530. .pre=$(rmh)Comments$(rmhe)
  531.  
  532. .format=$1$(par)
  533.  
  534. .tag=xref, html, 1, 1
  535. .pre=$(rmh)See Also$(rmhe)
  536. .format=$1$(par)
  537.  
  538. .tag=ex, html, 2, 1, 1
  539. .pre=$(rmh)Example$(rmhe)
  540. .format=$1$(par)
  541. $(ex)$2
  542. $(exe)
  543.  
  544. .tag=iex, html, 1, 8, 1
  545. .format=$(ex)$1$(par)
  546. $(ex)$(par)
  547.  
  548. .post=$(exe)
  549.  
  550. .tag=devnote, html, 1, 1
  551. .pre=$(rmh)\cf6 Developer Notes$(rmhe)
  552. .format=\cf6 $1$(par)
  553.  
  554. .tag=todo, html, 1, 1
  555. .pre=$(rmh)\cf6 To Do$(rmhe)
  556. .format=\cf6 $1$(par)
  557.  
  558. .tag=syntax, html, 1, 1
  559. .pre=$(rmh)Syntax$(rmhe)
  560. .format=$1$(par)
  561.  
  562. ;
  563. ; ***********************************************************
  564. ; C++ Tags
  565. ; ***********************************************************
  566.  
  567. .tag=access, html, 1, 1
  568. .pre=$(rmh)Class Members$(rmhe)
  569. .format=$(cb)$1$(cbe)
  570.  
  571. ;@CMEMBER
  572. ; Replacement for @member - uses automatic parsing, 4 fields
  573.  
  574. ; link name and type - data member
  575.  
  576. .tag=cmember, html, 4, 1
  577. .pre=$[classhdr]
  578. <DL>
  579. .format=$(term1)<A HREF=###1>$1</A> <A HREF=###class.1__#2>$2</A>
  580. $(def1)$4$(par)
  581.  
  582. .post=</DL>
  583.  
  584. .if=exists($class.1__$<2),fieldempty(3),exists($1)
  585. .parsesource=classmember
  586. .map=mfunc,$1,$t.1,$2,$4
  587. .map=menum,$t.1,$2,$4
  588. .map=mstruct,$t.1,$2,$4
  589. .map=mclass,$t.1,$2,$4
  590.  
  591. ; link name and type - function member
  592.  
  593. .tag=cmember, html, 4, 1
  594. .pre=$[classhdr]
  595. <DL>
  596. .post=</DL>
  597. .format=$(term1)<A HREF=###1>$1</A> <A HREF=###class.1__#2>$2</A>$(cb)$3$(cbe)
  598. $(def1)$4$(par)
  599.  
  600. .if=exists($class.1__$<2),exists($1)
  601. .parsesource=classmember
  602.  
  603. ; link name - data member
  604.  
  605. .tag=cmember, html, 4, 1
  606. .pre=$[classhdr]
  607. <DL>
  608. .post=</DL>
  609. .format=$(term1)$(cb)$1$(cbe) <A HREF=###class.1__#2>$2</A>
  610. $(def1)$4$(par)
  611.  
  612. .if=exists($class.1__$<2),fieldempty(3)
  613. .parsesource=classmember
  614.  
  615. ; link name - function member, no return value
  616.  
  617. .tag=cmember, html, 4, 1
  618. .pre=$[classhdr]
  619. <DL>
  620. .post=</DL>
  621. .format=$(term1)<A HREF=###class.1__#2>$2</A>$(cb)$3$(cbe)
  622. $(def1)$4$(par)
  623.  
  624. .if=exists($class.1__$<2),fieldempty(1)
  625. .parsesource=classmember
  626.  
  627. ; link name - function member
  628.  
  629. .tag=cmember, html, 4, 1
  630. .pre=$[classhdr]
  631. <DL>
  632. .post=</DL>
  633. .format=$(term1)$(cb)$1$(cbe) <A HREF=###class.1__#2>$2</A>$(cb)$3$(cbe)
  634. $(def1)$4$(par)
  635.  
  636. .if=exists($class.1__$<2)
  637. .parsesource=classmember
  638.  
  639. ; no links or doc - data member
  640.  
  641. .tag=cmember, html, 4, 1
  642. .pre=$[classhdr]
  643. <DL>
  644. .post=</DL>
  645. .format=$(term1)$(cb)$1 $2$(cbe)
  646. $(def1)$4$(par)
  647.  
  648. .parsesource=classmember
  649. .if=fieldempty(3)
  650. .map=mfunc,$1,$t.1,$2,$4
  651. .map=menum,$t.1,$2,$4
  652. .map=mstruct,$t.1,$2,$4
  653. .map=mclass,$t.1,$2,$4
  654.  
  655. ; no links or doc - function member, no return value
  656.  
  657. .tag=cmember, html, 4, 1
  658. .pre=$[classhdr]
  659. <DL>
  660. .post=</DL>
  661. .format=$(term1)$(cb)$2$3$(cbe)
  662. $(def1)$4$(par)
  663.  
  664. .parsesource=classmember
  665. .if=fieldempty(1)
  666.  
  667. ; no links or doc - function member
  668.  
  669. .tag=cmember, html, 4, 1
  670. .pre=$[classhdr]
  671. <DL>
  672. .post=</DL>
  673. .format=$(term1)$(cb)$1 $2$3$(cbe)
  674. $(def1)$4$(par)
  675.  
  676. .parsesource=classmember
  677.  
  678. ; Old @member tag
  679.  
  680. .tag=member, html, 2, 1
  681. .format=$(term1)<A HREF=###class.1__#1>$1</A>$(par)
  682. $(def1)$2$(par)
  683.  
  684. .if=exists($class.1::$1)
  685.  
  686. .tag=member, html, 2, 1
  687. .format=$(term1)$(cb)$1$(cbe)$(par)
  688. $(def1)$2$(par)
  689.  
  690. ; used to specify base classes for a C++ class
  691. ;
  692. ; in an "@interface" topic we actually show the base class.
  693. ; in an "@class" topic the base class shows up in the diagram.
  694.  
  695. .tag=base, html, 2, 1
  696. .pre=$(rmh)Based On$(rmhe)
  697. .format=<A HREF=##$2_int>$2</A>$(par)
  698. .if=exists($2_int), tagexists(interface)
  699.  
  700. .tag=base, html, 2, 1
  701. .pre=$(rmh)Based On$(rmhe)
  702. .format=$(cb)$2$(cbe)$(par)
  703. .if=tagexists(interface)
  704.  
  705. .tag=base, html, 2, 1
  706. .format=
  707.  
  708. ; used to add "const" keyword to end of member function diagram
  709.  
  710. .tag=this, html, 1, 1
  711. .format=
  712.  
  713. ;
  714. ; ***********************************************************
  715. ; OLE Tags
  716. ; ***********************************************************
  717.  
  718. ; *** Methods ***
  719.  
  720. ;link type and name
  721.  
  722. .tag=meth, html, 3, 1
  723. .map=method,$1,$t.1,$2,$3
  724. .parsesource=method
  725. .pre=$(rmh)Methods$(rmhe)
  726. <DL>
  727. .format=$(term1)<A HREF=###1>$1</A> <A HREF=##I#interface.1__#2_meth>$2</A>
  728. $(def1)$3$(par)
  729.  
  730. .post=</DL>
  731.  
  732. .if=exists($1),exists($interface.1__$2_meth)
  733.  
  734. ; link name
  735.  
  736. .tag=meth, html, 3, 1
  737. .parsesource=method
  738. .pre=$(rmh)Methods$(rmhe)
  739. <DL>
  740. .format=$(term1)$(cb)$1$(cbe) <A HREF=###interface.1__#2_meth>$2</A>
  741. $(def1)$3$(par)
  742.  
  743. .post=</DL>
  744.  
  745. .if=exists($interface.1__$2_meth)
  746.  
  747. ; link type only
  748.  
  749. .tag=meth, html, 3, 1
  750. .parsesource=method
  751. .pre=$(rmh)Methods$(rmhe)
  752. <DL>
  753. .format=$(term1)<A HREF=###1>$1</A> $(cb)$2$(cbe)
  754. $(def1)$3$(par)
  755.  
  756. .post=</DL>
  757.  
  758. .if=exists($1)
  759.  
  760. ; no links or doc
  761.  
  762. .tag=meth, html, 3, 1
  763. .parsesource=method
  764. .map=method,$1,$t.1,$2,$3
  765. .pre=$(rmh)Methods$(rmhe)
  766. <DL>
  767. .format=$(term1)$(cb)$1 $2$(cbe)
  768. $(def1)$3$(par)
  769.  
  770. .post=</DL>
  771.  
  772. ; *** Properties ***
  773.  
  774. ;link type and name, if type is an interface
  775.  
  776. .tag=prop, html, 3, 1
  777. .map=property,$1,$t.1,$2,$3
  778. .parsesource=method
  779. .pre=$(rmh)Properties$(rmhe)
  780. <DL>
  781.  
  782. .post=</DL>
  783.  
  784. .format=$(term1)<A HREF=###1_int>$1</A> <A HREF=###interface.1__#2_prop>$2</A>
  785. $(def1)$3$(par)
  786.  
  787. .if=tagexists(interface),exists($1_int),exists($interface.1::$2_prop)
  788.  
  789. ;link type and name
  790.  
  791. .tag=prop, html, 3, 1
  792. .parsesource=method
  793. .pre=$(rmh)Properties$(rmhe)
  794. <DL>
  795.  
  796. .post=</DL>
  797.  
  798. .format=$(term1)<A HREF=###1>$1</A> <A HREF=###interface.1__#2_prop>$2</A>
  799. $(def1)$3$(par)
  800.  
  801. .if=exists($1),exists($interface.1::$2_prop)
  802.  
  803. ;link name only
  804.  
  805. .tag=prop, html, 3, 1
  806. .parsesource=method
  807. .pre=$(rmh)Properties$(rmhe)
  808. <DL>
  809.  
  810. .post=</DL>
  811.  
  812. .format=$(term1)$(cb)$1$(cbe) <A HREF=###interface.1__#2_prop>$2</A>
  813. $(def1)$3$(par)
  814.  
  815. .if=exists($interface.1::$2_prop)
  816.  
  817. ; link type only, if type is an interface
  818.  
  819. .tag=prop, html, 3, 1
  820. .parsesource=method
  821. .pre=$(rmh)Properties$(rmhe)
  822. <DL>
  823.  
  824. .post=</DL>
  825.  
  826. .format=$(term1)<A HREF=###1_int>$1</A> $(cb)$2$(cbe)
  827. $(def1)$3$(par)
  828.  
  829. .if=exists($1_int)
  830.  
  831. ; link type only
  832.  
  833. .tag=prop, html, 3, 1
  834. .parsesource=method
  835. .pre=$(rmh)Properties$(rmhe)
  836. <DL>
  837.  
  838. .post=</DL>
  839.  
  840. .format=$(term1)<A HREF=###1>$1</A> $(cb)$2$(cbe)
  841. $(def1)$3$(par)
  842.  
  843. .if=exists($1)
  844.  
  845. ; link neither, or doc
  846.  
  847. .tag=prop, html, 3, 1
  848. .parsesource=method
  849. .map=property,$1,$t.1,$2,$3
  850. .pre=$(rmh)Properties$(rmhe)
  851. <DL>
  852.  
  853. .post=</DL>
  854.  
  855. .format=$(term1)$(cb)$1 $2$(cbe)
  856. $(def1)$3$(par)
  857.  
  858. ; *** Events *** 
  859.  
  860. ;link name
  861.  
  862. .tag=eve, html, 2, 1
  863. .parsesource=method
  864. .map=event,$t.1,$1,$2
  865. .pre=$(rmh)Events$(rmhe)
  866. <DL>
  867.  
  868. .post=</DL>
  869.  
  870. .format=$(term1)<A HREF=###interface.1__#1_event>$1</A>
  871. $(def1)$2$(par)
  872.  
  873. .if= exists($interface.1::$1_event)
  874.  
  875. ; no link, or doc
  876.  
  877. .tag=eve, html, 2, 1
  878. .parsesource=method
  879. .map=event,$t.1,$1,$2
  880. .pre=$(rmh)Events$(rmhe)
  881. <DL>
  882.  
  883. .post=</DL>
  884.  
  885. .format=$(term1)$(cb)$1$(cbe)
  886. $(def1)$2$(par)
  887.  
  888. .tag=rvalue, html, 2, 1
  889. .pre=<TABLE>
  890. <TR><TD><B>Return Value</B></TD><TD><B>Description</B></TD></TR>
  891. .format=<TR><TD>$1</TD><TD>$2</TD></TR>
  892. .post=</TABLE>
  893.  
  894. ; link interface name
  895.  
  896. .tag=supint, html, 2, 1
  897. .pre=$(rmh)Supported Interfaces$(rmhe)
  898. <DL>
  899.  
  900. .post=</DL>
  901.  
  902.  
  903. .format=$(term1)<A HREF=###1_int>$1</A>
  904. $(def1)$2$(par)
  905.  
  906. .if=exists($1_int)
  907.  
  908. ; no link, or doc
  909.  
  910. .tag=supint, html, 2, 1
  911. .pre=$(rmh)Supported Interfaces$(rmhe)
  912. <DL>
  913.  
  914. .post=</DL>
  915.  
  916.  
  917. .format=$(term1)$(cb)$1$(cbe)
  918. $(def1)$2$(par)
  919.  
  920. ; link interface name
  921.  
  922. .tag=reqint, html, 2, 1
  923. .pre=$(rmh)Required Interfaces$(rmhe)
  924. <DL>
  925.  
  926. .post=</DL>
  927.  
  928. .format=$(term1)<A HREF=###1_int>$1</A>
  929. $(def1)$2$(par)
  930.  
  931. .if=exists($1_int)
  932.  
  933. ; no link, or doc
  934.  
  935. .tag=reqint, html, 2, 1
  936. .pre=$(rmh)Required Interfaces$(rmhe)
  937. <DL>
  938.  
  939. .post=</DL>
  940.  
  941. .format=$(term1)$(cb)$1$(cbe)
  942. $(def1)$2$(par)
  943.  
  944. ; link interface name
  945.  
  946. .tag=optint, html, 2, 1
  947. .pre=$(rmh)Optional Interfaces$(rmhe)
  948. <DL>
  949.  
  950. .post=</DL>
  951.  
  952. .format=$(term1)<A HREF=###1_int>$1</A>
  953. $(def1)$2$(par)
  954.  
  955. .if=exists($1_int)
  956.  
  957. ; no link, or doc
  958.  
  959. .tag=optint, html, 2, 1
  960. .pre=$(rmh)Optional Interfaces$(rmhe)
  961. <DL>
  962.  
  963. .post=</DL>
  964.  
  965. .format=$(term1)$(cb)$1$(cbe)
  966. $(def1)$2$(par)
  967.  
  968. ; Interfaces/objects that support a property or method
  969.  
  970. .tag=supby, html, 1, 1
  971. .pre=$(rmh)Supported By$(rmhe)
  972. <DL>
  973.  
  974. .post=</DL>
  975.  
  976.  
  977. .format=$(cb)$1$(cbe)$(par)
  978.  
  979. ; Interfaces that an object expects to consume
  980.  
  981. .tag=consumes, html, 1, 1
  982. .pre=$(rmh)Consumes$(rmhe)
  983. .format=$(cb)$1$(cbe)$(par)
  984.  
  985. ; Abstract object types to which an abstract object type belongs
  986.  
  987. .tag=is, html, 1, 1
  988. .pre=$(rmh)Is A$(rmhe)
  989. .format=$(cb)$1$(cbe)$(par)
  990.  
  991. ; Aggregates
  992.  
  993. ; link interface name
  994.  
  995. .tag=aggregates, html, 2, 1
  996. .pre=$(rmh)Aggregated Objects$(rmhe)
  997. .format=$(term1)<A HREF=###1>$1</A>
  998. $(def1)$2$(par)
  999.  
  1000. .if=exists($1)
  1001.  
  1002. ; no link, or doc
  1003.  
  1004. .tag=aggregates, html, 2, 1
  1005. .pre=$(rmh)Aggregated Objects$(rmhe)
  1006. .format=$(term1)$(cb)$1$(cbe)
  1007. $(def1)$2$(par)
  1008.  
  1009. ; ******************************************
  1010. ; Miscellaneous tags
  1011. ; ******************************************
  1012.  
  1013. .tag=normal,html,1,1
  1014. .format=$1$(par)
  1015.  
  1016. .tag=head1, html, 2, 1
  1017. .if=fieldempty(2)
  1018. .format=$(heading_1)$1$(heading_1e)$(par)
  1019.  
  1020. .tag=head2, html, 2, 1
  1021. .if=fieldempty(2)
  1022. .format=$(heading_2)$1$(heading_2e)$(par)
  1023.  
  1024. .tag=head3, html, 2, 1
  1025. .if=fieldempty(2)
  1026. .format=$(heading_3)$1$(heading_3e)$(par)
  1027.  
  1028. .tag=group, html, 1, 8
  1029. .format=$(heading_3)$1$(heading_3e)$(par)
  1030.  
  1031. .tag=end, html, 0, 8
  1032. .format=
  1033.  
  1034. ; ******************************************
  1035. ; Index tags
  1036. ; ******************************************
  1037.  
  1038. .tag=index, html, 2, 1
  1039. .pre=<MENU COMPACT>
  1040.  
  1041. .format=$[index:$1:$2]$(par)
  1042. .post=</MENU>
  1043.  
  1044. .tag=subindex,html,1,1
  1045. .format=$(indexlink)<A HREF=#_aaa#1>$1</A>$(par)
  1046.  
  1047. [text]
  1048.  
  1049. .tag=cp, html, 0
  1050. .format=\'a9 
  1051. .tag=tm, html, 0
  1052. .format=\'99 
  1053. .tag=rtm, html, 0
  1054. .format=\'ae 
  1055. .tag=en-, html, 0
  1056. .format=\'97 
  1057. .tag=em-, html, 0
  1058. .format=\'96 
  1059. .tag=lq, html, 0
  1060. .format=\'91 
  1061. .tag=rq, html, 0
  1062. .format=\'92 
  1063. .tag=gt, html, 0
  1064. .format=>
  1065. .tag=lt, html, 0
  1066. .format=<
  1067. .tag=tab, html, 0
  1068. .format=$(tab)
  1069. .tag=nl, html, 0
  1070. .format=$(line)
  1071. .tag=cmt, html, 0
  1072. .format=//
  1073. ;
  1074. ; ******************************************
  1075. ; Build elements
  1076. ; ******************************************
  1077. .tag=date,html,0
  1078. .format=$!d
  1079. .tag=filename,html,0
  1080. .format=$!F
  1081. .tag=filepath,html,0
  1082. .format=$!P
  1083. .tag=tname,html,0
  1084. .format=$!n
  1085. .tag=tcontext,html,0
  1086. .format=$!c
  1087.  
  1088. ;
  1089. ; ******************************************
  1090. ; Graphics
  1091. ; ******************************************
  1092. .tag=bmp, html, 1
  1093. .format=$(bitmap)$1$(bitmape)
  1094. .tag=f, html, 1
  1095. .format=$(cb)$1$(cbe)
  1096. .if=$1=$func.2
  1097.  
  1098. .tag=f, html, 1
  1099. .format=<A HREF=##$1>$1</A>
  1100. .if=exists($1)
  1101.  
  1102. .tag=f, html, 1
  1103. .format=$(cb)$1$(cbe)
  1104. ;
  1105. ; ******************************************
  1106. ; Messages
  1107. ; ******************************************
  1108.  
  1109. .tag=m, html, 1
  1110. .format=$1
  1111. .if=$1=$msg.1
  1112.  
  1113. .tag=m, html, 1
  1114. .format=<A HREF=##$1>$1</A>
  1115. .if=exists($1)
  1116.  
  1117. .tag=m, html, 1
  1118. .format=$1
  1119. ;
  1120. ; ******************************************
  1121. ; Structures
  1122. ; ******************************************
  1123.  
  1124. .tag=t, html, 1
  1125. .format=$(cb)$1$(cbe)
  1126. .if=$1=$struct.1
  1127.  
  1128. .tag=t, html, 1
  1129. .format=$(cb)$1$(cbe)
  1130. .if=$1=$enum.1
  1131.  
  1132. .tag=t, html, 1
  1133. .format=<A HREF=##$1>$1</A>
  1134. .if=exists($1)
  1135.  
  1136. .tag=t, html, 1
  1137. .format=$(cb)$1$(cbe)
  1138. ;
  1139. ; ******************************************
  1140. ; Parameters
  1141. ; ******************************************
  1142.  
  1143. .tag=p, html, 1
  1144. .format=$(ci)$1$(cie)
  1145. ;
  1146. ; ******************************************
  1147. ; Structure and Enumeration Elements
  1148. ; ******************************************
  1149.  
  1150. .tag=e, html, 2
  1151. .format=$(cb)$2$(cbe)
  1152. .if=$1=$struct.1
  1153. .tag=e, html, 2
  1154. .format=$(cb)$2$(cbe)
  1155. .if=$1=$enum.1
  1156. .tag=e, html, 2
  1157. .format=<A HREF=##$1>$2</A>
  1158. .if=exists($1)
  1159. .tag=e, html, 2
  1160. .format=$(cb)$2$(cbe)
  1161.  
  1162. ;
  1163. ; ******************************************
  1164. ; Classes
  1165. ; ******************************************
  1166.  
  1167. .tag=c, html, 1
  1168. .format=$(cb)$1$(cbe)
  1169. .if=$1=$class.1
  1170. .tag=c, html, 1
  1171. .format=<A HREF=##$1>$1</A>
  1172. .if=exists($1)
  1173. .tag=c, html, 1
  1174. .format=$(cb)$1$(cbe)
  1175.  
  1176. ;
  1177. ; ******************************************
  1178. ; Enumerations
  1179. ; ******************************************
  1180.  
  1181. .tag=enum, html, 2
  1182. .format=$(cb)$1$(cbe)
  1183. .if=$1=$enum.1,fieldempty(2)
  1184. .tag=enum, html, 2
  1185. .format=<A HREF=##$1>$1</A>
  1186. .if=exists($1),fieldempty(2)
  1187. .tag=enum, html, 2
  1188. .format=$(cb)$1$(cbe),fieldempty(2)
  1189.  
  1190. .tag=enum, html, 2
  1191. .format=$(cb)$2::$1$(cbe)
  1192. .if=$1=$enum.1
  1193. .tag=enum, html, 2
  1194. .format=<A HREF=##$2::$1>$2::$1</A>
  1195. .if=exists($2__$1)
  1196. .tag=enum, html, 2
  1197. .format=$(cb)$2::$1$(cbe)
  1198. ;
  1199. ; ******************************************
  1200. ; Member Functions
  1201. ; ******************************************
  1202.  
  1203. ; circular reference, make bold
  1204. ;
  1205. .tag=mf, html, 2
  1206. .format=$(cb)$2$(cbe)
  1207. .if=fieldempty(1),$2=$mfunc.3
  1208. .if=$1=$mfunc.2,$2=$mfunc.3
  1209.  
  1210. ; same class, different function, link target exists: omit class name & link
  1211. ;
  1212. .tag=mf, html, 2
  1213. .format=<A HREF=##$class.1$mfunc.2$mdata.2::$2>$2</A>
  1214. .if=fieldempty(1),exists($class.1$mfunc.2$mdata.2::$2)
  1215. .if=exists($1::$2),$1=$class.1$mfunc.2$mdata.2
  1216.  
  1217. ; different class, link target exists: output class::function & link
  1218. ;
  1219. .tag=mf, html, 2
  1220. .format=<A HREF=##$1__$2>$1::$2</A>
  1221. .if=exists($1::$2)
  1222.  
  1223. ; same class, no link target: omit class name & bold
  1224. ;
  1225. .tag=mf, html, 2
  1226. .format=$(cb)$2$(cbe)
  1227. .if=fieldempty(1)
  1228. .if=$1=$class.1$mfunc.2$mdata.2
  1229.  
  1230. ; nothing to link to, within different class
  1231. ;
  1232. .tag=mf, html, 2
  1233. .format=$(cb)$1::$2$(cbe)
  1234. ;
  1235. ; ******************************************
  1236. ; Member data
  1237. ; ******************************************
  1238.  
  1239. ; circular reference, make bold
  1240. ;
  1241. .tag=md, html, 2
  1242. .format=$(cb)$2$(cbe)
  1243. .if=fieldempty(1),$2=$mdata.3
  1244. .if=$1=$mfunc.2,$2=$mdata.3
  1245.  
  1246. ; same class, different function, link target exists: omit class name & link
  1247. ;
  1248. .tag=md, html, 2
  1249. .format=<A HREF=##$class.1$mfunc.2$mdata.2::$2>$2</A>
  1250. .if=fieldempty(1),exists($class.1$mfunc.2$mdata.2::$2)
  1251. .if=exists($1::$2),$1=$class.1$mfunc.2$mdata.2
  1252.  
  1253. ; different class, link target exists: output class::function & link
  1254. ;
  1255. .tag=md, html, 2
  1256. .format=<A HREF=##$1::$2>$1::$2</A>
  1257. .if=exists($1::$2)
  1258.  
  1259. ; same class, no link target: omit class name & bold
  1260. ;
  1261. .tag=md, html, 2
  1262. .format=$(cb)$2$(cbe)
  1263. .if=fieldempty(1)
  1264. .if=$1=$class.1$mfunc.2$mdata.2
  1265.  
  1266. ; nothing to link to, within different class
  1267. ;
  1268. .tag=md, html, 2
  1269. .format=$(cb)$1::$2$(cbe)
  1270.  
  1271. ;
  1272. ; ******************************************
  1273. ; OLE Objects
  1274. ; ******************************************
  1275.  
  1276. .tag=o, html, 1
  1277. .format=$(cb)$1$(cbe)
  1278. .if=$1=$abstract.1$object.1
  1279. .tag=o, html, 1
  1280. .format=<A HREF=##$1 object>$1</A>
  1281. .if=exists($1)
  1282. .tag=o, html, 1
  1283. .format=$(cb)$1$(cbe)
  1284. ;
  1285. ; ******************************************
  1286. ; OLE Interfaces
  1287. ; ******************************************
  1288.  
  1289. .tag=i, html, 1
  1290. .format=$(cb)$1$(cbe)
  1291. .if=$1=$interface.1
  1292. .tag=i, html, 1
  1293. .format=<A HREF=##$1 interface>$1</A>
  1294. .if=exists($1_int)
  1295. .tag=i, html, 1
  1296. .format=$(cb)$1$(cbe)
  1297. ;
  1298. ; ******************************************
  1299. ; OLE Methods
  1300. ; ******************************************
  1301.  
  1302. ; circular reference, make bold
  1303. ; example: <om .Bar> appearing in @method ret|IFoo|Bar
  1304.  
  1305. .tag=om, html, 2
  1306. .format=$(cb)$2$(cbe)
  1307. .if=tagexists(method),fieldempty(1),$2=$method.3
  1308. .if=$1=$method.2,$2=$method.3
  1309.  
  1310. ; @abstract or @object tag, empty field, link 
  1311. ; example: <om .Bar> appearing in @abstract Foo or @object Foo
  1312.  
  1313. .tag=om, html, 2
  1314. .format=<A HREF=##I$abstract.1$object.1__$2_meth>$2</A>
  1315. .if=tagexists(object),fieldempty(1),exists(I$object.1__$2_meth)
  1316. .if=tagexists(abstract),fieldempty(1),exists(I$abstract.1__$2_meth)
  1317.  
  1318. ; @method, @interface, @property, @event, empty field, link
  1319. ; example: <om .Bar> appearing in @interface IFoo
  1320.  
  1321. .tag=om, html, 2
  1322. .format=<A HREF=##$method.2$property.2$interface.1$event.1__$2_meth>$2</A>
  1323. .if=fieldempty(1),exists($method.2$property.2$interface.1$event.1__$2_meth)
  1324.  
  1325. ; @object, @abstract, same object, link
  1326. ; example: <om IFoo.Bar> appearing in @object Foo
  1327.  
  1328. .tag=om, html, 2
  1329. .format=<A HREF=##I$object.1$abstract.1::$2_meth>$2</A>
  1330. .if=tagexists(object),$1=I$object.1,exists(I$object.1__$2_meth)
  1331. .if=tagexists(abstract),$1=I$abstract.1,exists(I$abstract.1__$2_meth)
  1332.  
  1333. ; @method, @interface, @property, @event, same interface, link
  1334. ; example: <om IFoo.Bar> appearing in @method ret|IFoo|Bar
  1335.  
  1336. .tag=om, html, 2
  1337. .format=<A HREF=##$method.2$property.2$interface.1$event.1__$2_meth>$2</A>
  1338. .if=$1=$method.2$property.2$interface.1$event.1,exists($method.2$property.2$interface.1$event.1__$2_meth)
  1339.  
  1340. ; different interface, link
  1341. ; example: <om IFoo.Bar> appearing in @method ret|IBar|Foo
  1342.  
  1343. .tag=om, html, 2
  1344. .format=<A HREF=##$1__$2_meth>$1::$2</A>
  1345. .if=exists($1__$2_meth)
  1346.  
  1347. ; same interface, no link
  1348. ; example: <om IFoo.Bar> appearing in @method ret|IBar|Foo but no
  1349. ;               IFoo::Bar defined
  1350.  
  1351. .tag=om, html, 2
  1352. .format=$(cb)$2$(cbe)
  1353. .if=tagexists(object),$1=I$object.1
  1354. .if=tagexists(abstract),$1=I$abstract.1
  1355. .if=$1=$method.2$property.2$interface.1$event.1
  1356. .if=fieldempty(1)
  1357.  
  1358. ; default: html fields, 
  1359. ; example: <om IFoo.Bar> output with "IFoo.Bar" in bold
  1360. .tag=om, html, 2
  1361. .format=$(cb)$1::$2$(cbe)
  1362.  
  1363. ;
  1364. ; ******************************************
  1365. ; OLE Properties
  1366. ; ******************************************
  1367.  
  1368. ; circular reference, make bold
  1369. ; example: <op .Bar> appearing in @property type|IFoo|Bar
  1370.  
  1371. .tag=op, html, 2
  1372. .format=$(cb)$2$(cbe)
  1373. .if=tagexists(property),fieldempty(1),$2=$property.3
  1374. .if=$1=$property.2,$2=$property.3
  1375.  
  1376. ; @abstract or @object tag, empty field, link 
  1377. ; example: <op .Bar> appearing in @abstract Foo or @object Foo
  1378.  
  1379. .tag=op, html, 2
  1380. .format=<A HREF=##I$abstract.1$object.1__$2 property>$2</A>
  1381. .if=tagexists(object),fieldempty(1),exists(I$object.1__$2_prop)
  1382. .if=tagexists(abstract),fieldempty(1),exists(I$abstract.1__$2_prop)
  1383.  
  1384. ; @method, @interface, @property, @event, empty field, link
  1385. ; example: <op .Bar> appearing in @interface IFoo
  1386.  
  1387. .tag=op, html, 2
  1388. .format=<A HREF=##$method.2$property.2$interface.1$event.1__$2 property>$2</A>
  1389. .if=fieldempty(1),exists($method.2$property.2$interface.1$event.1__$2_prop)
  1390.  
  1391. ; @object, @abstract, same object, link
  1392. ; example: <op IFoo.Bar> appearing in @object Foo
  1393.  
  1394. .tag=op, html, 2
  1395. .format=<A HREF=##I$object.1$abstract.1::$2 property>$2</A>
  1396. .if=tagexists(object),$1=I$object.1,exists(I$object.1__$2_prop)
  1397. .if=tagexists(abstract),$1=I$abstract.1,exists(I$abstract.1__$2_prop)
  1398.  
  1399. ; @method, @interface, @property, @event, same interface, link
  1400. ; example: <op IFoo.Bar> appearing in @method ret|IFoo|Bar
  1401.  
  1402. .tag=op, html, 2
  1403. .format=<A HREF=##$method.2$property.2$interface.1$event.1__$2 property>$2</A>
  1404. .if=$1=$method.2$property.2$interface.1$event.1,exists($method.2$property.2$interface.1$event.1__$2_prop)
  1405.  
  1406. ; different interface, link
  1407. ; example: <op IFoo.Bar> appearing in @method ret|IBar|Foo
  1408.  
  1409. .tag=op, html, 2
  1410. .format=<A HREF=##$1__$2 property>$1::$2</A>
  1411. .if=exists($1::$2_prop)
  1412.  
  1413. ; same interface, no link
  1414. ; example: <op IFoo.Bar> appearing in @method ret|IBar|Foo but no
  1415. ;               IFoo::Bar defined
  1416.  
  1417. .tag=op, html, 2
  1418. .format=$(cb)$2$(cbe)
  1419. .if=tagexists(object),$1=I$object.1
  1420. .if=tagexists(abstract),$1=I$abstract.1
  1421. .if=$1=$method.2$property.2$interface.1$event.1
  1422. .if=fieldempty(1)
  1423.  
  1424. ; default: html fields, 
  1425. ; example: <op IFoo.Bar> output with "IFoo.Bar" in bold
  1426. .tag=op, html, 2
  1427. .format=$(cb)$1::$2$(cbe)
  1428.  
  1429. ; ******************************************
  1430. ; OLE Events
  1431. ; ******************************************
  1432. ; See "OLE Methods" for descriptions/examples of each block
  1433.  
  1434. ; circular reference
  1435.  
  1436. .tag=oe, html, 2
  1437. .format=$(cb)$2$(cbe)
  1438. .if=fieldempty(1),$2=$event.1
  1439. .if=$1=$event.1,$2=$event.2
  1440.  
  1441. ; link, ref. same interface within @object, @abstract, 
  1442. ; omit interface prefix
  1443.  
  1444. .tag=oe, html, 2
  1445. .format=<A HREF=##I$abstract.1$object.1__$2 event>$2</A>
  1446. .if=tagexists(object),fieldempty(1),exists(I$object.1__$2_event)
  1447. .if=tagexists(abstract),fieldempty(1),exists(I$abstract.1__$2_event)
  1448. .if=tagexists(object),$1=I$object.1,exists(I$object.1__$2_event)
  1449. .if=tagexists(abstract),$1=I$abstract.1,exists(I$abstract.1__$2_event)
  1450.  
  1451. ; link, ref. same interface within @method, @property, @interface, @event
  1452. ; omit interface prefix
  1453.  
  1454. .tag=oe, html, 2
  1455. .format=<A HREF=##$event.1$method.2$property.2$interface.1__$2 event>$2</A>
  1456. .if=fieldempty(1),exists($event.1$method.2$property.2$interface.1__$2_event)
  1457. .if=$1=$event.1$method.2$property.2$interface.1,exists($1__$2_event)
  1458.  
  1459. ; no link, ref. same interface
  1460. ; omit interface prefix
  1461.  
  1462. .tag=oe, html, 2
  1463. .format=$(cb)$2$(cbe)
  1464. .if=fieldempty(1)
  1465. .if=$1=I$object.1$abstract.1
  1466. .if=$1=$method.2$property.2$interface.1$event.1
  1467.  
  1468. ; link
  1469. .tag=oe, html, 2
  1470. .format=<A HREF=##$1__$2 event>$1::$2</A>
  1471. .if=exists($1::$2_event)
  1472.  
  1473. ;
  1474. ; default
  1475. .tag=oe, html, 2
  1476. .format=$(cb)$1::$2$(cbe)
  1477.  
  1478. ; ******************************************
  1479. ; Misc weirdness
  1480. ; ******************************************
  1481. .tag=index, html, 2
  1482. .format=$[index:$1:$2]
  1483.  
  1484. .tag=y, html, 1
  1485. .format=$(ci)$1$(cie)
  1486.  
  1487. .tag=l, html, 1
  1488. .format=$1
  1489. .if=$1=$topic.1
  1490.  
  1491. .tag=l, html, 1
  1492. .format=<A HREF=##$1>$1</A>
  1493.  
  1494. [diagram]
  1495.  
  1496. ; Visual Basic type diagram
  1497.  
  1498. .tag=bstruct, html, bfield
  1499. .pre=$(ex)$[bmod]Type
  1500.  
  1501. .post=End Type
  1502.  
  1503. $(par)$(exe)
  1504.  
  1505. .format=$[bfield]
  1506.  
  1507. .tag=bfield, html, none
  1508. .if=fieldempty(2)
  1509. .pre=$(tab)$1
  1510. .format=
  1511.  
  1512. .tag=bfield, html, none
  1513. .pre=$(tab)$1 As $2
  1514.  
  1515. .format=
  1516.  
  1517. ; Visual Basic subroutine diagram
  1518.  
  1519. .tag=bfunc, html, bparm
  1520. .pre= $[bmod]$(cb)Function$(cbe) $(cb)$2($(cbe)
  1521. .post=$(cb))$(cbe)$[btype]$(par)
  1522. .formatfirst=$[bparm]
  1523. .format=$(cb), $(cbe)$[bparm]
  1524.  
  1525. .tag=bsub, html, bparm
  1526. .pre= $[bmod]$(cb)Sub$(cbe) $(cb)$2($(cbe)
  1527. .post=$(cb))$(cbe)$(par)
  1528. .formatfirst=$[bparm]
  1529. .format=$(cb), $(cbe)$[bparm]
  1530.  
  1531. .tag=bparm, html, none
  1532. .if=fieldempty(1)
  1533. .pre=$(ci)$2$(cie)$[btype]
  1534. .format=
  1535.  
  1536. .tag=bparm, html, none
  1537. .pre=$(cb)$1$(cbe) $(ci)$2$(cie)$[btype]
  1538. .format=
  1539.  
  1540. .tag=bparm, html, none
  1541. .if=fieldempty(1)
  1542. .format=
  1543. .pre=$(ci)$2$(cie) $(cb)As $3$(cbe)
  1544.  
  1545. .tag=bparm, html, none
  1546. .format=
  1547. .pre=$(cb)$1$(cbe) $(ci)$2$(cie) $(cb)As $3$(cbe)
  1548.  
  1549.  
  1550.  
  1551. .tag=bmod, html, bmod
  1552. .if=fieldempty(1)
  1553. .format=
  1554.  
  1555. .tag=bmod, html, bmod
  1556. .format=
  1557. .pre=$(cb)$1$(cbe) 
  1558.  
  1559. .tag=btype, html, btype
  1560. .if=fieldempty(3)
  1561. .format=
  1562.  
  1563. .tag=btype, html, btype
  1564. .format=
  1565. .pre= $(cb)As $3$(cbe)
  1566.  
  1567.  
  1568. .tag=parmopthead, html, parm
  1569. .cancelifpresent=parm
  1570. .pre=$(rmh)Parameters$(rmhe)
  1571. .format=
  1572.  
  1573. .tag=parmopt, html, parmopt
  1574. .cancelifpresent=syntax
  1575. .format=$(cb), $1$(cbe) $(ci)$2$(cie) $(cb)= $3$(cbe)
  1576. .if=tagexists(parm)
  1577.  
  1578. .tag=parmopt, html, parmopt
  1579. .cancelifpresent=syntax
  1580. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie) $(cb)= $3$(cbe)
  1581. .format=$(cb), $1$(cbe) $(ci)$2$(cie) $(cb)= $3$(cbe)
  1582.  
  1583. ; *** Function diagram ******
  1584. ;
  1585. ; No return value, parameters
  1586.  
  1587. .tag=function, html, parm
  1588. .cancelifpresent=syntax
  1589. .pre= $[ftemplate]$(cb)$1$(cbe) $(cb)$2($(cbe)
  1590. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1591. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1592. .format=$(cb), $1$(cbe) $(ci)$2$(cie)
  1593. .if=fieldempty(1), tagexists(parm)
  1594. .if=fieldempty(1), tagexists(parmopt)
  1595.  
  1596. ; No return value, no parameters
  1597.  
  1598. .tag=function, html, parm
  1599. .cancelifpresent=syntax
  1600. .pre= $[ftemplate]$(cb)$2(void$(cbe)
  1601. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1602. .format=
  1603. .if=fieldempty(1)
  1604.  
  1605. ; Return value, parameters
  1606. ;
  1607. .tag=function, html, parm
  1608. .cancelifpresent=syntax
  1609. .pre= $[ftemplate]$(cb)$1$(cbe) $(cb)$2($(cbe)
  1610. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1611. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1612. .format=$(cb), $1$(cbe) $(ci)$2$(cie)
  1613. .if=tagexists(parm)
  1614. .if=tagexists(parmopt)
  1615.  
  1616. ; Return value, no parameters
  1617. ;
  1618. .tag=function, html, parm
  1619. .cancelifpresent=syntax
  1620. .pre= $[ftemplate]$(cb)$1$(cbe) $(cb)$2(void$(cbe)
  1621. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1622. .format=
  1623. ;
  1624.  
  1625. ; *** Member Functions ******
  1626.  
  1627. ; No return value, parameters
  1628.  
  1629. .tag=mfunction, html, parm
  1630. .cancelifpresent=syntax
  1631. .pre= $[template]$(cb)$2$(cbe)$[tcarg]$(cb)::$3$[tfarg]($(cbe)
  1632. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1633. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1634. .format=$(cb), $1$(cbe) $(ci)$2$(cie)
  1635. .if=fieldempty(1), tagexists(parm)
  1636. .if=fieldempty(1), tagexists(parmopt)
  1637.  
  1638. ; No return value, no parameters
  1639.  
  1640. .tag=mfunction, html, parm
  1641. .cancelifpresent=syntax
  1642. .pre=$[template]$(cb)$2$(cbe)$[tcarg]$(cb)::$3$[tfarg](void$(cbe)
  1643. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1644. .format=
  1645. .if=fieldempty(1)
  1646.  
  1647. ; Return value, parameters
  1648. ;
  1649. .tag=mfunction, html, parm
  1650. .cancelifpresent=syntax
  1651. .pre= $[template]$(cb)$1$(cbe) $(cb)$2$(cbe)$[tcarg]$(cb)::$3$[tfarg]($(cbe)
  1652. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1653. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1654. .format=$(cb), $1$(cbe) $(ci)$2$(cie)
  1655. .if=tagexists(parm)
  1656. .if=tagexists(parmopt)
  1657.  
  1658. ; Return value, no parameters
  1659. ;
  1660. .tag=mfunction, html, parm
  1661. .cancelifpresent=syntax
  1662. .pre= $[template]$(cb)$1$(cbe) $(cb)$2$(cbe)$[tcarg]$(cb)::$3$[tfarg](void$(cbe)
  1663. .post=$[parmopt]$[vararg]$(cb)) $this.1$(cbe)$(par)
  1664. .format=
  1665. ;
  1666.  
  1667. ; **** OLE2 Method ********
  1668.  
  1669. .tag=method, html, parm
  1670. .cancelifpresent=syntax
  1671. .pre= $(cb)$1 $3($(cbe)
  1672. .post=$(cb))$(cbe)$(par)
  1673. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1674. .format=$(cb), $1$(cbe) $(ci)$2$(cie)
  1675.  
  1676. ; **** OLE2 Event ********
  1677.  
  1678. .tag=event, html, parm
  1679. .cancelifpresent=syntax
  1680. .pre= $(cb)$1($(cbe)
  1681. .post=$(cb))$(cbe)$(par)
  1682. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1683. .format=$(cb), $1$(cbe) $(ci)$2$(cie)
  1684.  
  1685. ; **** Structure ********
  1686.  
  1687. .tag=structure, html, field
  1688. .pre=$(ex)struct {
  1689.  
  1690. .format=$(tab)$1 $2;
  1691.  
  1692. .post=} $1;
  1693. $(exe)
  1694.  
  1695. ; **** Enumeration ********
  1696.  
  1697. .tag=enum, html, emem
  1698. .pre=$(ex)enum $1 {
  1699.  
  1700. .formatfirst=$(tab)$1
  1701. .format=,
  1702. $(tab)$1
  1703. .post=,
  1704. };
  1705. $(exe)
  1706.  
  1707. ; **** Class *****************
  1708.  
  1709. .tag=class, html, base
  1710. .pre=$[template]$(cb)class $1$(cbe)
  1711. .formatfirst=$(cb): $1 $2$(cbe)
  1712. .format=$(cb), $1 $2$(cbe)
  1713. .post=$(par)
  1714.  
  1715. ; **** Member Class *****************
  1716.  
  1717. .tag=mclass, html, base
  1718. .pre=$[template]$(cb)class $1::$2$(cbe)
  1719. .formatfirst=$(cb): $1 $2$(cbe)
  1720. .format=$(cb), $1 $2$(cbe)
  1721. .post=$(par)
  1722.  
  1723. ; **** Template specification for classes or member functions
  1724.  
  1725. .tag=template, html, tcarg
  1726. .pre=$(cb)template &##60;$(cbe)
  1727. .formatfirst=$(cb)$1 $(cbe)$(ci)$2$(cie)
  1728. .format=, $(cb)$1 $(cbe)$(ci)$2$(cie)
  1729. .post=$(cb)&##62;$(cbe)$(line)
  1730. .if=tagexists(tcarg)
  1731.  
  1732. .tag=template, html, tcarg
  1733. .format=
  1734.  
  1735. ; **** Template specification for functions
  1736.  
  1737. .tag=ftemplate, html, tfarg
  1738. .pre=$(cb)template &##60;$(cbe)
  1739. .formatfirst=$(cb)$1 $(cbe)$(ci)$2$(cie)
  1740. .format=, $(cb)$1 $(cbe)$(ci)$2$(cie)
  1741. .post=$(cb)&##62;$(cbe)$(line)
  1742. .if=tagexists(tfarg)
  1743.  
  1744. .tag=ftemplate, html, tfarg
  1745. .format=
  1746.  
  1747. ; **** member function args list
  1748.  
  1749. .tag=tcarg, html, tcarg
  1750. .pre=$(cb)&##60;$(cbe)
  1751. .formatfirst=$(ci)$2$(cie)
  1752. .format=$(cb), $(cbe)$(ci)$2$(cie)
  1753. .post=$(cb)&##62;$(cbe)
  1754. .if=tagexists(tcarg)
  1755.  
  1756. .tag=tcarg, html, targ
  1757. .format=
  1758.  
  1759. ; **** function args list
  1760.  
  1761. .tag=tfarg, html, tfarg
  1762. .pre=$(cb)&##60;$(cbe)
  1763. .formatfirst=$(cb)$1$(cbe) $(ci)$2$(cie)
  1764. .format=$(cb), $(cbe)$(cb)$1$(cbe) $(ci)$2$(cie)
  1765. .post=$(cb)&##62;$(cbe)
  1766. .if=tagexists(tfarg)
  1767.  
  1768. .tag=tfarg, html, tfarg
  1769. .format=
  1770.  
  1771. ; ****** function variable args
  1772. .tag=vararg, html, parmvar
  1773. .format=$(cb), ...$(cbe)
  1774. .if=tagexists(parmvar)
  1775.  
  1776. ; ****** function variable args
  1777. .tag=vararg, html, parmvar
  1778. .format=
  1779.  
  1780. ; ****** Member data diagram
  1781.  
  1782. .tag=mdata, html, parm
  1783. .cancelifpresent=syntax
  1784. .pre=<A HREF=##$1>$1</A> <A HREF=##$2>$2</A>$(cb)::$3$(cbe)
  1785. .post=$(par)
  1786. .format=
  1787. .if=exists($1),exists($2)
  1788.  
  1789. .tag=mdata, html, parm
  1790. .cancelifpresent=syntax
  1791. .pre=$(cb)$1$(cbe) <A HREF=##$2>$2</A>$(cb)::$3$(cbe)
  1792. .post=$(par)
  1793. .format=
  1794. .if=exists($2)
  1795.  
  1796. .tag=mdata, html, parm
  1797. .cancelifpresent=syntax
  1798. .pre=<A HREF=##$1>$1</A> $(cb)$2$(cbe)$(cb)::$3$(cbe)
  1799. .post=$(par)
  1800. .format=
  1801. .if=exists($1)
  1802.  
  1803. .tag=mdata, html, parm
  1804. .cancelifpresent=syntax
  1805. .pre=$(cb)$1 $2::$3$(cbe)
  1806. .post=$(par)
  1807. .format=
  1808.  
  1809. .tag=classhdr, html, parm
  1810. .cancelifpresent=access
  1811. .pre=$(rmh)Class Members$(rmhe)
  1812. .format=
  1813.  
  1814. [index]
  1815. .output=html
  1816. .format=<LI><A HREF=#$!c>$!n</A>
  1817.  
  1818.